查看原文
其他

程序员,是否应该有自己的职业规划?

脚本之家 2021-06-30

The following article is from IT人的职场进阶 Author 骆俊武

 关注“脚本之家”,与百万开发者在一起

作者 | 骆俊武
来源 | IT人的职场进阶(ID:BestITer)
今天的主题:程序员的职业规划。很早之前有读者微信我,希望我能够拿自己的职业路径为例子写一篇关于职业规划的文章。
刚好前几天,一个靠技术移民国外的程序媛朋友主动和我分享了下面的内容,她已经工作20年了,目前是亚马逊的架构师。看到她发的这些内容后,真的很感动。
我相信绝大部分程序员一定期望自己有更好的职场发展,不管是追求薪资待遇还是精神上的满足。
刚过去的1024,「职业规划」的话题我觉得还挺契合这个节日的,所以谈几点个人看法。

职业发展的最优路径是什么?

刚毕业的那几年,经理跟我面谈时经常会问我:你的职业规划是什么样的?
我说:还没想过,先学好技术吧,后面再考虑。
经理说:你应该多些想法,想清楚自己的职业目标后,能有针对性的提高。
几年后,我自己当经理了。一开始,我也经常拿这个问题问组员,但是我发现很多人的答案和我当年类似。
这时候,我才明白:缺少对职业的长期考虑,其实是绝大部分程序员的现状。而这个现象就我现在看来,并不认为它是个问题,反而觉得正常也很合理。
我先说一下自己的切身感受。我的职业路径大概是这样的:一线大厂工程师2.5年,参与创业1年,中小型创业公司的技术经理3年,二线大厂的技术总监1年。
就这4段经历来看,我的转折点在第3段。但是,当时的我并没有任何职业规划的概念,我没想过自己是否适合做管理,也没想过这家公司是否有前景,仅仅因为有一个信任的高层在那里任职,另外我又不想回到大厂当螺丝钉。
所以,我做出的选择很大程度是由自己的主观意识决定的,觉得去这家公司能够被信任,能做一些有挑战的事情。
以我当时的情况,如果我去咨询做职业规划的资深人士,他们大概率会建议我回到大厂,在技术路线上再锻炼1-2年,而且一定不会建议我去这家规模小并且前景不明朗的公司。
我之前看到过一份调查数据,80%的技术管理者,都是在没有主动表达管理意愿的情况下,被上级 “推到” 管理岗位上的。
包括我个人这个例子,其实我想表达的是:互联网作为一个新型行业,它的发展节奏和可变化性太大了。很多时候,你能迎来职场发展的大转折,能力只是一方面,机会、运气等偶然因素太多了,计划往往赶不上变化。
相反,你给自己设定一个很大很远的长期目标和发展路径,先不说它有多大概率能实现,即使它最终实现了,当你走到路的尽头,你会发现未必它就是最适合你的。
我现在愈发觉得,对事业有欲望的人其实不需要特意的规划,他们会很本能的快速调整,而对事业没有欲望的人来说,规划也仅仅是一个规划而已。
我没想过8年后的今天,我能走上中层管理,也不认为CTO甚至CEO就是我的职业规划。
其实,我更愿意不断地探索所有可能的路径和修正我的短期目标,将自己未知的能量一点点挖掘出来。
如果有足够的动力源支撑我做出下一个选择以及做好下一阶段的事情,我认为它就是我职场发展的最优路径。

清楚当前阶段的重点很关键

职场虽然很难按照自己预设的路径去发展,但是每个里程所花的时间其实是我们可以控制的。
这个时间长短的关键因素不是智商,不是情商,而是你是否清晰的知道:当前这个阶段,你关注的重点是什么?你需要培养和锻炼自己哪方面的能力?
以技术路线为例,不同级别的人关注的重点是不同的:
1、初中级技术人员(P5及以下):刚入职场,需要关注如何写出好代码,学习别人的设计思路并具备单模块的设计能力,重视规范和流程,并注重培养好的工作习惯(例如:严谨、主动、专业)。
2、高级技术人员(P6):工作2-3年后,关注跨模块或者子系统的设计,有意识提升自己的架构能力,丰富自己的技术栈并注重技术深度的钻研。
3、技术专家(P7):工作3-5年后,关注系统化的分析和解决问题,有不错的架构能力,并逐渐形成自己的方法体系。视野要开始打开,从本系统到上下游,从技术到业务,从个人到团队。
4、高级专家及以上(P8及以上):技术和业务都在掌握当中,擅长抓问题的本质,具备中长期的规划能力,能够从更远、更长期的角度分析问题并作出决策,经验可迁移。
以上是我的看法,那些职场发展很快的人,一定是各个阶段突破速度快的人,他们很清楚的知道当前阶段的重点,并且有目的性的去提升和打破自己的瓶颈。

贯穿职场,视野很重要

视野是一个贯穿职场非常重要的因素。
上面章节中谈到的技术路线,越往高阶走,对视野的要求越高。
我所说的视野,是指你一定要有意识逼迫自己跳出当前的环境或者换不同的视角去思考职场中的具体问题,多跟优秀的人交流。当你获得的信息越多,你往往能做出比别人更高效或者更优的决策。
比如你作为技术骨干,负责一个工期紧且重要的项目,你的应对方案可以从多维度去确保这件事情的达成:
1、从业务和产品角度考虑,把关好哪些功能和业务目标是强相关的,哪些必须要做,哪些可以不做。
2、从项目管理角度考虑,做好任务拆解,提前分析出风险点并做针对性把控,同时在排期上预留出一定的缓冲时间。
3、从技术管理角度考虑,做好技术方案的取舍,满足当前诉求同时又不过度设计。
4、从团队角度考虑,进行合理分工,形成优势互补,并在全过程中创造出好的工作环境和人员激励。
从上面这个例子可以看到,你作为技术骨干已经跳出了自己的身份,而是在全局性的把控它,说白了就是从不同视角去提取最有用的信息。
对于大部分程序员来说,能很清楚的知道当前角色该做好哪些事情、该怎么做好其实都挺少的,如果你能把视野再拔高一个层次其实已经超过很多人了。
回到职场发展来看,当你正处于舒适区或者看不清楚当前阶段的重点时,就是你视野受限的时候,要突破就一定要跳出来,可以去更高的平台,也可以向优秀的人取经,方式有很多。

写在最后

程序人生很长,如果能够找到让你兴奋的点,那就是你快速成长的最好时期,然后在每一个阶段中把握好重点,很清楚地知道自己需要提升哪方面的能力,你就有了更好的加速度。
大概想到这些内容,都是一家之言,供参考。最后,祝愿每个程序员都有更好的职场发展!

推荐阅读:

优秀计算机大学生是怎样练成的?——你的大学规划了吗

怎样才算一个计算机知识体系完整的毕业生-- What篇


每日打卡赢积分兑换书籍入口
👇🏻👇🏻👇🏻

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存